export interface SealVO {
  /**
   * 主键
   */
  id: string | number;

  /**
   * 编号
   */
  number: string;

  /**
   * 申请部门
   */
  deptId: string | number;

  /**
   * 申请部门名称
   */
  deptName: string | number;

  /**
   * 申请项目
   */
  proId: string | number;

  /**
   * 申请项目名称
   */
  proName: string | number;

  /**
   * 使用日期
   */
  useDate: string;

  /**
   * 使用类型
   */
  useType: string;

  /**
   * 印章类型
   */
  sealType: string;

  /**
   * 审批状态
   */
  status: string;

  /**
   * 创造时间
   */
  createTime: string;

  /**
   * 备注
   */
  remark?: string;
}

export interface SealForm extends BaseEntity {
  /**
   * 主键
   */
  id?: string | number;

  /**
   * 编号
   */
  number?: string;

  /**
   * 申请部门
   */
  deptId?: string | number;

  /**
   * 申请部门
   */
  proId?: string | number;

  /**
   * 使用日期
   */
  useDate?: string;

  /**
   * 使用类型
   */
  useType?: string;

  /**
   * 印章类型
   */
  sealType?: string;

  /**
   * 用章事由
   */
  sealCause?: string;

  /**
   * 审批状态
   */
  status?: string;

  /**
   * 负责人意见
   */
  approverIdea?: string | number;

  /**
   * 负责人ID列表（多个ID用逗号分隔）
   */
  principalIds?: string;

  /**
   * 负责人姓名（逗号分隔，用于显示）
   */
  presidentsName?: string;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 印章文件列表
   */
  sealFiles?: SealFile[];
}

export interface SealQuery extends PageQuery {
  /**
   * 编号
   */
  number?: string;

  /**
   * 申请部门
   */
  deptId?: string | number;

  /**
   * 使用日期
   */
  useDate?: string;

  /**
   * 使用类型
   */
  useType?: string;

  /**
   * 印章类型
   */
  sealType?: string;

  /**
   * 用章事由
   */
  sealCause?: string;

  /**
   * 审批状态
   */
  status?: string;

  /**
   * 负责人意见
   */
  approverIdea?: string | number;

  /**
   * 创造时间
   */
  createTime?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}

export interface AdmSealAuditBo {
  /** 公章申请ID */
  id: string | number;
  /** 审核人ID */
  applyId?: string | number;
  /** 审核意见 */
  principalIdea: string;
  /** 审核状态 0:未审核 1:通过 2:不通过 */
  status: string | number;
  /** 审核类型 dept-部门审核，ceo-董办审核 */
  auditType?: string;
}

export interface SealFile {
  /**
   * 文件名
   */
  fileName: string;

  /**
   * 文件份数
   */
  fileCount: number;
}

/** 部门树节点 */
export interface DeptTreeNode {
  id: number;
  label: string;
  children?: DeptTreeNode[];
  disabled?: boolean;
}
